Many internet-based service providers deliver digital content to clients around the world. The digital content can include web objects (e.g., text, graphics, URL, and script), downloadable objects (e.g., media files, software, and documents), web applications, stream media (e.g., audio and video contents), etc. Providing digital contents to a large number of clients in various geographical locations can be challenging to the service providers. For example, a service provider may not be able to provide sufficient server resources and/or network bandwidth to serve all the clients requesting for digital contents within a certain amount of time. In addition, because the traffic, between the service provider and a client geographically remote from the service provider, requires routing through a large number of internet servers across a great geographical distance, the client may experience a high-level wait time and/or low transfer rate.
To solve the abovementioned problems, a CDN technology has been provided. The full name of CDN is content delivery network. The goal of the technology is, by adding a new network architecture in the conventional internet, to publish the content of the website to an “edge” of the network that is the closest to the user, so that the user may obtain the desired content at a nearest location and the network congestion in the internet may be solved. The response time when the user accesses the website can be improved. Slow response when a user accesses the website caused by reasons such as a small network bandwidth, a great number of user accesses, and a non-uniformed distribution of network nodes, can be solved comprehensively in technic. CDN is a distributed network that is established on a bearer network and is formed by service nodes distributed in different regions. It transfers source content to the edge closest to a user using certain rules, such that the user can obtain the content from a nearest location, thereby reducing the requirements on the bandwidth of the backbone network and increasing the response speed of website to the user's access. It can be shown from the description of the CDN technology that, by using CDN technology, information from a remote data center may be transferred to a local server, and the task may be completed when a local user accesses the local server. Simply speaking, the CDN is a strategic deployment of an overall system, including four important elements i.e., distributed storage, load balancing, network request redirection, and content managing. The content managing and the global network traffic managing (Traffic Management) are the core of the CDN. By determining the user proximity and the server load, CDN can ensure the content based on a user's request is provided as service in a highly efficient manner. In general, content service is based on caching servers, also known as proxy caches. A proxy cache may be located on an edge of a network, and is only a “Single Hop” away from the user. Meanwhile, a proxy cache is a transparent mirror of the source server (often located at the data center of the CDN service provider) of the content provider. This architecture enables the CDN service providers to represent their clients, i.e., content providers, and to provide better experience for the ultimate user. These users do not tolerate any delay in response time of requests. According to statistics, by using CDN technology, approximately 70%-95% of the content access to the entire website may be processed, the pressure on the servers can be reduced, and the performance and the scalability of the website can be improved.
However, with the increasing popularity of CDN technology, CDN service becomes more and more complex. Thus, the mixed use of the bandwidth resources of service and the machine resources is very common. Conventional CDN technology is no longer suitable for current network usage environment. For example, in conventional CDN, to ensure the security of the CDN platform and prevent clients from using too much bandwidth, leading to the exhaustion of CDN resources and affecting all the clients on the platform, CDN bandwidth control lines for accelerating the client may be configured in advance on the platform. The threshold values of the control lines are often determined through static planning configuration after communicating with the clients. After the control lines are configured, when the bandwidth usage in the CDN platform exceeds the bandwidth control lines, the CDN technology provides one of the various control modes, e.g., direct disconnection, returning to client source station, and slow connection, based on the static planning configuration, for bandwidth control, so that the bandwidth usage may be reduced to ensure the normal service of the platform. However, the abovementioned conventional control line mechanism may cause the CDN platform, when still being able to provide service, to stop part of the service because of the limitation of the previously planned control lines, to solve the bandwidth problem. Thus, the use of CDN resources cannot be maximized. Especially, a sudden increase in business volume or a temporary increase in business volume of one client may cause the entire CDN platform to have decreased service resources and decreased service capacity. As a result, many other clients on the platform may also be affected.
In another aspect, for traditional CDN control methods used in industry, bandwidth-affecting factors taken into account when allocation values are commanded are relatively simple. Often, only factors such as bandwidth or traffic are taken into account. Thus, the allocation may deviate largely from the practical usage conditions, causing some resources to be overloaded and some resources to be too idle. The unreasonable allocation of resources seriously affects the security and stability of the CDN platform.
Lastly, with the development of network technology, CDN resources are becoming more and more widely distributed. The number of machines used for CDN is increasing. Thus, many aspects, such as the timeliness of data collection, policy generation, and control allocation, no longer satisfy the needs of CDN platform. As a result, the network bandwidth cannot be sufficiently controlled in real-time or be controlled with sufficient precision.
Thus, a CDN platform needs to possess a certain level of self-protection capacity. A solution that performs self-adaptive control on the CDN platform under the abovementioned conditions, to prevent affecting other clients or to reduce the number of clients being affected to the maximum extent, is needed. The solution must take into account more bandwidth-affecting factors and may have good timeliness.